#ifndef NETTCPSERVER_H
#define NETTCPSERVER_H

#include <QObject>

/* 网络头文件 */
#include <QTcpServer>
/* 通信头文件 */
#include <QTcpSocket>

/* 链表 */
#include <QList>


class NetTcpServer : public QObject
{
    Q_OBJECT
public:
    explicit NetTcpServer(QObject *parent = nullptr);

signals:


public:
    /* 指定端口启动服务器 */
    void startServer(uint16_t port);
public slots:
    /* 处理新的连接 */
    void handleNewConnectSlot();

    /* 处理信息 - 槽函数 */
    void handleReadDataSlot();

    /* 处理断开请求 - 槽函数 */
    void handleDisConnectSlot();


private:
    /* 服务器 */
    QTcpServer * m_server;
    /* 客户端集合 */
    QList<QTcpSocket *> m_clients;
};

#endif // NETTCPSERVER_H
